
<!DOCTYPE html>
<html lang="zh-cn">

<head>
<meta charset="utf-8" />
<meta name="author" content="TianShangXing" />
<meta name="description" content="Personal blog." />
<meta name="keywords" content="blog, tech" />
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<meta name="generator" content="Hugo 0.68.3" />

<link rel="canonical" href="https://tianshangxing.gitee.io/myblog/">
<meta property="og:title" content="TianShangXing&#39;s Blog" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://tianshangxing.gitee.io/myblog/" />
<meta property="og:updated_time" content="2020-04-08T16:08:54+08:00" />

<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="TianShangXing&#39;s Blog"/>
<meta name="twitter:description" content=""/>


<meta itemprop="name" content="TianShangXing&#39;s Blog">
<meta itemprop="description" content="">

<link rel="stylesheet" href="https://tianshangxing.gitee.io/myblog/css/layout.css" />


<link rel="stylesheet" href="https://tianshangxing.gitee.io/myblog/css/default-dark.css" />




<title>


    TianShangXing&#39;s Blog

</title>

</head>


<body>
<div class="main">
<header>

<div class="header-bar">

  <nav>
    <div class="siteTitle">
      <a href="https://tianshangxing.gitee.io/myblog">TianShangXing&#39;s Blog</a>
    </div> 

    
    
    <a class="nav-item" href="https://tianshangxing.gitee.io/myblog/blog/"><div class="nav-item-title">Blogs</div></a>
    
    <a class="nav-item" href="https://tianshangxing.gitee.io/myblog/resume/"><div class="nav-item-title">Resume</div></a>
    

  </nav>

  
<div class="social-links-header">

  
  <a href="mailto:tian_shang_xing@foxmail.com"><div class="social-link">email</div></a>
  

  
  <a href="https://github.com/TianShangXing" target="_blank"><div class="social-link">gh</div></a>
  

  

  

  
  <a href="https://www.linkedin.com/in/%e6%98%9f%e4%bc%b8-%e5%88%98-b7b7321a6" target="_blank"><div class="social-link">in</div></a>
  

</div>


</div>


</header>


<main>


  
    <article class="post-preview">

  <header>
    <h2 class="title"> <a href='https://tianshangxing.gitee.io/myblog/blog/python2%E5%92%8Cpython3%E7%9A%84%E5%8C%BA%E5%88%AB/'> Python2和python3的区别</a> </h2>
    <div class="meta">
      <div class="date">
      27 Dec, 2019 - 1 minutes
      </div>
      
<div class="tags">
  
</div>

    </div>

  </header>

  <div class="summary">
    python2和python3的区别 print语句被python3废弃，只能使用print函数
Python3中字符串是Unicode (utf-8)编码，支持中文做标识符。
python2中是ASCII编码，需要更改字符集才能正常支持中文，所以在.py文件中会看到#&ndash; coding: UTF-8 &ndash;
异常处理 Python2中try:&hellip;except Exception, e:&hellip;，在Python3中改为了try:&hellip;except Exception as e:&hellip;
Python3中不再使用xrange方法，只有range方法。
range在Python2中返回列表，而在Python3中返回range可迭代对象。
在Python2中有两个不等运算符!=和&lt;&gt;，在Python3中去掉了&lt;&gt;，只有!=符号表示不等
在Python2中双反引号可以替代repr函数，在Python3中去掉了双反引号的表是方法，只能用repr方法。
StringIO模块现在被合并到新的io模组内。new, md5, gopherlib等模块被删除。
httplib, BaseHTTPServer, CGIHTTPServer, SimpleHTTPServer, Cookie, cookielib被合并到http包内。
取消了exec语句，只剩下exec()函数。
在Python2中long是比int取值范围更大的整数，Python3中取消了long类型，int的取值范围扩大到之前的long类型范围。
列表推导 不再支持[n for n in a,b]语法，改为[n for n in (a,b)]或[n for n in [a,b]]
python 2 中通过input输入的类型是int，只有通过raw_input()输入的类型才是str。
python 3中通过input输入的类型都是str，去掉了row_input()方法。
python3.6中dict有序 有序是指遍历时的输出顺序与输入顺序相同
关于哈希表   散列表概念 散列表（Hash table，也叫哈希表），是根据关键码值(Key value)而直接进行访问的数据结构。也就是说，它通过把关键码值映射到表中一个位置来访问记录，以加快查找的速度。这个映射函数叫做散列函数，存放记录的数组叫做散列表。
  哈希函数 给定表M，存在函数f(key)，对任意给定的关键字值key，代入函数后若能得到包含该关键字的记录在表中的地址，则称表M为哈希(Hash）表，函数f(key)为哈希(Hash) 函数。 （相关：是不是可以这样理解，数组可以通过下标进行访问，时间复杂度是O(1)，对于不连续存储的数据结构，如果知道下标也可以直接进行访问，所以可以通过哈希函数将key映射成数组下标，进行访问）
  冲突 不同的key经过hash函数运行后得到相同的值，产生冲突；
  冲突解决方式
  </div>

  <div class="rmore">
    <a href='https://tianshangxing.gitee.io/myblog/blog/python2%E5%92%8Cpython3%E7%9A%84%E5%8C%BA%E5%88%AB/' class="rmore">Read more</a>
  </div>


</article>


    <article class="post-preview">

  <header>
    <h2 class="title"> <a href='https://tianshangxing.gitee.io/myblog/blog/python%E5%9F%BA%E7%A1%80/'> Python基础</a> </h2>
    <div class="meta">
      <div class="date">
      24 Dec, 2019 - 2 minutes
      </div>
      
<div class="tags">
  
</div>

    </div>

  </header>

  <div class="summary">
    解释一下Python中的三元运算 [on true] if [expression] else [on false] 如果表达式为True，就执行[on true]中的语句。否则，就执行[on false]中的语句
a,b=2,3 min=a if a&lt;b else b min GIL: 全局解释器锁（英语：Global Interpreter Lock，缩写GIL） GIL是计算机程序设计语言解释器用于同步线程的一种机制，它使得任何时刻仅有一个线程在执行。即便在多核心处理器上，使用 GIL 的解释器也只允许同一时间执行一个线程。
解释一下Python中的继承 当一个类继承自另一个类，它就被称为一个子类/派生类，继承自父类/基类/超类。它会继承/获取所有类成员（属性和方法）。
继承能让我们重新使用代码，也能更容易的创建和维护应用。Python支持如下种类的继承：
单继承：一个类继承自单个基类
多继承：一个类继承自多个基类
多级继承：一个类继承自单个基类，后者则继承自另一个基类
分层继承：多个类继承自单个基类 混合继承：两种或多种类型继承的混合
解释Python中的help()和dir()函数 Help()函数是一个内置函数，用于查看函数或模块用途的详细说明：
import copy help(copy.copy) Dir()函数也是Python内置函数，dir() 函数不带参数时，返回当前范围内的变量、方法和定义的类型列表；带参数时，返回参数的属性、方法列表。
dir(copy.copy) 什么是猴子补丁？ 在运行期间动态修改一个类或模块。
class A: def func(self): print(&quot;Hi&quot;) def monkey(self): print(&quot;Hi, monkey&quot;) m.A.func = monkey a = m.A() a.func() 请解释使用args和*kwargs的含义 当我们不知道向函数传递多少参数时，比如我们向传递一个列表或元组，我们就使用*args。
def func(*args): for i in args: print(i) func(3,2,1,4,7) 在我们不知道该传递多少关键字参数时，使用**kwargs来收集关键字参数。
  </div>

  <div class="rmore">
    <a href='https://tianshangxing.gitee.io/myblog/blog/python%E5%9F%BA%E7%A1%80/' class="rmore">Read more</a>
  </div>


</article>




<div class="page-nav">
  <div class="page-prev">
    
        <a href="https://tianshangxing.gitee.io/myblog/page/4/" title="Previous page" > &lt;&lt; </a>
    
  </div> 

  <div class="page-num">
    5/5
  </div> 

  <div class="page-next">
    
  </div> 
</div> 


</main>

  <footer>

  <div class="social-links-footer">

  
  <a href="mailto:tian_shang_xing@foxmail.com"><div class="social-link">Email</div></a>
  

  
  <a href="https://github.com/TianShangXing" target="_blank"><div class="social-link">GitHub</div></a>
  

  

  

  
  <a href="https://www.linkedin.com/in/%e6%98%9f%e4%bc%b8-%e5%88%98-b7b7321a6" target="_blank"><div class="social-link">LinkedIn</div></a>
  

  <div class="social-link">
  <a href="https://tianshangxing.gitee.io/myblog/index.xml" target="_blank">RSS</a>
  </div>

</div>


  <div class="copyright"> Copyright (c) 2020, all rights reserved. </div>

  <div class="poweredby">
    Powered by <a href="https://gohugo.io/">Hugo</a>.
  </div>

  </footer>

</div> 

</body>
</html>

